#ifndef INFINITY_CONTAINER_INL
#	define INFINITY_CONTAINER_INL

namespace infinity {

inline Container::Container()
{
	m_nbSlots = 10; 
	m_slots = new Slot[m_nbSlots];
	for(unsigned int index = 0 ; index < m_nbSlots; index++)
	{
		m_slots[index].object.type = Object::EMPTY;
		m_slots[index].object.id = 0;
		m_slots[index].count = 0;
	}
}

inline Container::Container(unsigned int nbSlots)
{
	m_nbSlots = nbSlots;
	m_slots = new Slot[m_nbSlots];
	for(unsigned int index = 0 ; index < m_nbSlots; index++)
	{
		m_slots[index].object.type = Object::EMPTY;
		m_slots[index].object.id = 0;
		m_slots[index].count = 0;
	}
}

inline unsigned int Container::getNbSlot()
{
	return m_nbSlots;
}

inline Container::Slot& Container::getSlot(unsigned int index)
{
	dwAssert(index >= 0 && index < m_nbSlots, "Index Out f bound");

	return m_slots[index];

}



} // namespace infinity

#endif // !INFINITY_CONTAINER_INL
